/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"DB88C85A-A949-4C69-9F39-CA443AE249B4",variableType:4}
 */
var f_proyecto = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"ED2A2A86-E20E-4A5E-B049-ACF750E3BA2F",variableType:4}
 */
var f_banco_destino = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"FFD6E183-C8BA-4E99-B574-D02B8E5A4462",variableType:4}
 */
var f_banco_origen = null;

/**
 * @type {String}
 *
 * @properties={typeid:35,uuid:"A51FD1C5-9191-4024-9AD6-32697388135A"}
 */
var f_concepto = null;

/**
 * @type {Date}
 *
 * @properties={typeid:35,uuid:"245134EC-8677-4443-AFF9-80C8A4538A78",variableType:93}
 */
var f_fecha = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"E801615B-65B6-485C-8F8B-E5D808A89B96",variableType:8}
 */
var f_importe = null;

/**
 * @type {String}
 *
 * @properties={typeid:35,uuid:"070C1874-336A-4B36-94A6-C2A27BFB1266"}
 */
var f_referencia = null;

/**
 * Callback method for when form is shown.
 *
 * @param {Boolean} [firstShow] form is shown first time after load
 * @param {JSEvent} [event] the event that triggered the action
 *
 * @properties={typeid:24,uuid:"C4EFC111-BE0A-4AB5-AC28-854DFC348619"}
 */
function iniciar(firstShow, event) 
{
	databaseManager.setAutoSave(false)
	f_banco_destino = null
	f_banco_origen	= null
	f_fecha			= application.getServerTimeStamp();
	f_concepto		= 'Transferencia entre bancos'; 
	f_referencia	= null
	f_importe		= null
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"20B8D9FE-5862-468A-8995-E96C6F3C4746"}
 */
function confirmar(event) 
{
	if (f_banco_origen == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar cuenta de banco origen','OK')
		return false;
	}
	if (f_banco_destino == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar cuenta de banco destino ','OK')
		return false;
	}
	if (f_banco_destino == f_banco_origen)
	{
		globals.DIALOGS.showWarningDialog('Aviso','La cuenta de banco destino debe ser distinta a la de origen','OK')
		return false;
	}
	if (f_importe == 0  || f_importe == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar Importe','OK')
		return false;
	}
	if (f_fecha == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar fecha','OK')
		return false;
	}
	if (f_concepto == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar concepto','OK')
		return false;
	}
	if (f_referencia == ''  || f_referencia == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar referencia','OK')
		return false;
	}
	if (globals.zparam_usa_proyecto == 1 && f_proyecto == null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar proyecto','OK')
		return false;
	}
	
	// ingreso a cuenta destino
	foundset.newRecord()
	foundset.cheque_id 			= null
	foundset.cod_movim			= globals.zconf_cyb_cod_movim_ingreso
	foundset.concepto			= f_concepto
	foundset.cuentas_cyb_id		= f_banco_destino
	foundset.empresa_id			= 0 
	foundset.fecha_conciliacion	= null
	foundset.fecha_movim		= f_fecha
	foundset.importe			= f_importe
	foundset.imputacion_id		= globals.zconf_cyb_imputacion_transferencia_desde_banco
	foundset.marca_conciliacion	= 0  
	foundset.referencia			= f_referencia
	foundset.proyecto_id		= f_proyecto
	foundset.valor_id			= 8  // fijo 
	foundset.moneda_id			= foundset.movim_cyb_to_cuentas_cyb.moneda_id
	
	// egreso a cuenta origen
	foundset.newRecord()
	foundset.cheque_id			= null
	foundset.cod_movim			= globals.zconf_cyb_cod_movim_egreso
	foundset.concepto			= f_concepto   
	foundset.cuentas_cyb_id		= f_banco_origen
	foundset.empresa_id			= 0 
	foundset.fecha_conciliacion	= null
	foundset.fecha_movim		= f_fecha
	foundset.importe			= f_importe
	foundset.imputacion_id		= globals.zconf_cyb_imputacion_transferencia_a_banco
	foundset.marca_conciliacion	= 0 
	foundset.referencia			= f_referencia
	foundset.proyecto_id		= f_proyecto
	foundset.valor_id			= 8  // fijo 
	foundset.moneda_id			= foundset.movim_cyb_to_cuentas_cyb.moneda_id
			
	var estado = databaseManager.saveData();
	if (estado == true)
	{
		globals.DIALOGS.showInfoDialog('Transferencia',  'Transferencia entre bancos generada',  "OK")
		iniciar();
	}
	else
	{
		globals.DIALOGS.showInfoDialog('Transferencia',  'NO se pudo realizar la transferencia entre bancos',  "OK")
		cancelar();
		iniciar();
	}
	return true
}

/**
 *
 * @properties={typeid:24,uuid:"BC448A95-D044-4CFC-B06D-5791C9D7B628"}
 */
function cancelar() 
{
	databaseManager.revertEditedRecords()
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"81FB0890-D7D4-400F-B6DD-180CFAB3707F"}
 */
function limpiar(event) 
{
	cancelar()
	iniciar()
}

/**
 * Handle changed data.
 *
 * @param {Object} oldValue old value
 * @param {Object} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"FDA477B6-6AF8-4703-9635-A0F9A2C753F7"}
 */
function validar_importe(oldValue, newValue, event) 
{
	if (f_importe == 0  || f_importe==null)
	{
		globals.DIALOGS.showWarningDialog('Aviso','Debe informar Importe','OK')
		return false;
	}
	return true
}
